iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
Modern Web

FlowNest系列 第 23

Day23_生成文字模型

  • 分享至 

  • xImage
  •  

今天的重點是把鼓勵語句生成功能接上 GLM-4.6(Hugging Face Inference,Novita provider),整個流程都放在後端處理,避免金鑰外洩。產出必須短、溫暖、可行,前端畫面只留下繁體中文。
https://ithelp.ithome.com.tw/upload/images/20251004/20168406gb1ILbTGWQ.png

後端整合

改成用 @huggingface/inferenceInferenceClient 做 chat completion,系統提示詞固定成「教練風格、1–2 句、別提問、別用 emoji」。
環境變數控制:HUGGINGFACE_API_KEYHF_TEXT_MODEL_ID(預設 zai-org/GLM-4.6)、HF_TEXT_PROVIDER(預設 novita)、HF_TEXT_SYSTEM_PROMPT
Client 做了快取,不會每次都重新建連線。完整流程:接到 prompt → 英文短句 → 翻譯中文 → 轉繁體 → 回傳。

繁體輸出處理

翻譯依然走 Hugging Face 模型,最後再用 chinese-conv 做簡→繁。遇到 vercel dev 不吃第三方 .ts 輸出,就從 chinese-conv/dist 匯入,順便補了型別宣告。

Serverless API

  • /api/encouragement:文字生成功能(英文→翻譯→繁體化),有錯誤處理、逾時、token 檢查。
  • /api/encouragement-image:維持原本影像生成功能,另外擴充 VercelRequest 支援 rawBody

以/api/encouragement 為範例;點選生成鼓勵語句後
https://ithelp.ithome.com.tw/upload/images/20251004/20168406wXRaooRIbO.png
以下以是API回傳的內容(Response懶的擷@@)
https://ithelp.ithome.com.tw/upload/images/20251004/201684069jWNd55Sb4.png

TypeScript 與相依修補

  • 加上 @vercel/node 解決型別來源問題。
  • TEXT_PROVIDER 明確標註成 InferenceProviderOrPolicy
  • VercelRequest 擴充型別支援 rawBody

今天的成果

  • GLM-4.6 成功整進專案,金鑰安全。
  • 前端只顯示繁體鼓勵句,畫面乾淨。
  • 文字與圖片 API 在本機(Vite + Vercel Dev)都能正常運作。

下一步

串流回應(逐字顯示)、速率限制,還有前端UX優化


上一篇
Day22_生圖模型
下一篇
Day24_小調整UI與全域音樂控制
系列文
FlowNest25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言